package com.zj.request.body;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;

import java.io.Serializable;
import java.util.List;

/**
 * @createUser daiyuan
 * @createTime 2019/1/29 17:43
 * @describe 个人税务实时缴费请求body
 **/
@XStreamAlias(value = "spmx")
public class Spmx implements Serializable {

	/**
	 * <pre>
	 * xtsphm
	 * 是否必须 Y
	 * String
	 * 系统税（费）票号码
	 * </pre>
	 */
	private String xtsphm;

	/**
	 * <pre>
	 * swjylsh
	 * 是否必须 Y
	 * String
	 * 税务交易流水号
	 * 税银子系统产生，需要银行返回
	 * </pre>
	 */
	private String swjylsh;

	/**
	 * <pre>
	 * nsrsbh
	 * 是否必须 Y
	 * String
	 * 纳税人识别号（身份证号）
	 * </pre>
	 */
	private String nsrsbh;

	/**
	 * <pre>
	 * nsrmc
	 * 是否必须 N
	 * String
	 * 纳税人名称（姓名）
	 * </pre>
	 */
	private String nsrmc;

	/**
	 * <pre>
	 * zsjgDm
	 * 是否必须 Y
	 * String
	 * 征收机关代码
	 * </pre>
	 */
	private String zsjgDm;

	/**
	 * <pre>
	 * zsjgQc
	 * 是否必须 Y
	 * String
	 * 征收机关全称
	 * </pre>
	 */
	private String zsjgQc;

	/**
	 * <pre>
	 * xysh
	 * 是否必须 Y
	 * String
	 * 协议书号
	 * </pre>
	 */
	private String xysh;

	private Jbyhxx jbyhxx;

	private Jsyhxx jsyhxx;

	/**
	 * <pre>
	 * kpje
	 * 是否必须 Y
	 * BigDecimal
	 * 开票金额
	 * </pre>
	 */
	private String kpje;

	/**
	 * <pre>
	 * kprq
	 * 是否必须 Y
	 * String
	 * 开票日期
	 * </pre>
	 */
	private String kprq;

	@XStreamImplicit
	private List<SzmxList> szmxlist;

	public String getXtsphm() {
		return xtsphm;
	}

	public void setXtsphm(String xtsphm) {
		this.xtsphm = xtsphm;
	}

	public String getSwjylsh() {
		return swjylsh;
	}

	public void setSwjylsh(String swjylsh) {
		this.swjylsh = swjylsh;
	}

	public String getNsrsbh() {
		return nsrsbh;
	}

	public void setNsrsbh(String nsrsbh) {
		this.nsrsbh = nsrsbh;
	}

	public String getNsrmc() {
		return nsrmc;
	}

	public void setNsrmc(String nsrmc) {
		this.nsrmc = nsrmc;
	}

	public String getZsjgDm() {
		return zsjgDm;
	}

	public void setZsjgDm(String zsjgDm) {
		this.zsjgDm = zsjgDm;
	}

	public String getZsjgQc() {
		return zsjgQc;
	}

	public void setZsjgQc(String zsjgQc) {
		this.zsjgQc = zsjgQc;
	}

	public String getXysh() {
		return xysh;
	}

	public void setXysh(String xysh) {
		this.xysh = xysh;
	}

	public Jbyhxx getJbyhxx() {
		return jbyhxx;
	}

	public void setJbyhxx(Jbyhxx jbyhxx) {
		this.jbyhxx = jbyhxx;
	}

	public Jsyhxx getJsyhxx() {
		return jsyhxx;
	}

	public void setJsyhxx(Jsyhxx jsyhxx) {
		this.jsyhxx = jsyhxx;
	}

	public String getKpje() {
		return kpje;
	}

	public void setKpje(String kpje) {
		this.kpje = kpje;
	}

	public String getKprq() {
		return kprq;
	}

	public void setKprq(String kprq) {
		this.kprq = kprq;
	}

	public List<SzmxList> getSzmxlist() {
		return szmxlist;
	}

	public void setSzmxlist(List<SzmxList> szmxlist) {
		this.szmxlist = szmxlist;
	}

	public Spmx() {
	}

	public Spmx(String xtsphm, String swjylsh, String nsrsbh, String nsrmc, String zsjgDm, String zsjgQc, String xysh,
			Jbyhxx jbyhxx, Jsyhxx jsyhxx, String kpje, String kprq, List<SzmxList> szmxlist) {
		this.xtsphm = xtsphm;
		this.swjylsh = swjylsh;
		this.nsrsbh = nsrsbh;
		this.nsrmc = nsrmc;
		this.zsjgDm = zsjgDm;
		this.zsjgQc = zsjgQc;
		this.xysh = xysh;
		this.jbyhxx = jbyhxx;
		this.jsyhxx = jsyhxx;
		this.kpje = kpje;
		this.kprq = kprq;
		this.szmxlist = szmxlist;
	}

	@Override
	public String toString() {
		return "Spmx{" + "xtsphm='" + xtsphm + '\'' + ", swjylsh='" + swjylsh + '\'' + ", nsrsbh='" + nsrsbh + '\''
				+ ", nsrmc='" + nsrmc + '\'' + ", zsjgDm='" + zsjgDm + '\'' + ", zsjgQc='" + zsjgQc + '\'' + ", xysh='"
				+ xysh + '\'' + ", jbyhxx=" + jbyhxx + ", jsyhxx=" + jsyhxx + ", kpje=" + kpje + ", kprq='" + kprq
				+ '\'' + ", szmxlist=" + szmxlist + '}';
	}
}
